home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / tcxl551.arc / TCXL_INC.EXE / lha / INC / TCXLHLP.H < prev    next >
Text File  |  1990-10-01  |  5KB  |  88 lines

  1. /*=====[ The TesSeRact(TM) CXL User Interface Development System ]======*
  2.  | Copyright (c) 1987-1990, Innovative Data Concepts. All Rights Reserved
  3.  |
  4.  | This Library is part of IDC's TesSeRact Development Tools product
  5.  | line. For information about other IDC products, call 1-215-884-3373.
  6.  *----------------------------------------------------------------------*
  7.  | <TCXLhlp.h> : Public definitions and prototypes for TCXL Help system
  8.  | (User level).
  9.  *----------------------------------------------------------------------*
  10.  | PGS : $Id: tcxlhlp.h 5.51 90/10/01 00:00:00 MLM Release Locker: MLM $
  11.  | $Log:    tcxlhlp.h $
  12.  | Revision 5.51  90/10/01  00:00:00  MLM
  13.  | TCXL 5.51
  14.  | 
  15.  *======================================================================*/
  16. #ifndef  _TCXLhlp_
  17. #  define   _TCXLhlp_ 1
  18. #  ifndef   _TCXLwin_
  19. #    include <TCXLwin.h>   /* Middle level Window system */
  20. #  endif
  21. #define  HCTL_STK 20       /* help-stack depth */
  22.  
  23. /*------------------[ Data objects and access macros ]------------------*/
  24.  
  25. TYP   struct   Hctl  HctlT,  *HctlP;
  26. struct   Hctl                 /*-[ Help-control object ]-------*/
  27. {  TagT     hstk[HCTL_STK];   /* 00|00 : help stack            */
  28.    ChrP     hfil;             /* 28|28 : help file name        */
  29.    VfvCP    hopn;             /* 2A|2C : open function         */
  30.    IntT     hptr;             /* 2C|30 : help stack pointer    */
  31.    KeyT     hkey;             /* 2E|32 : help hot key          */
  32.    AtrT     hwat;             /* 30|34 : window attribute      */
  33.    AtrT     htat;             /* 31|35 : text attribute        */
  34.    AtrT     hsat;             /* 32|36 : selection attribute   */
  35.    AtrT     hbat;             /* 33|37 : bar attribute         */
  36.    VposT    hbeg;             /* 34|38 : window start position */
  37.    VposT    hend;             /* 36|3A : window end position   */
  38.    BytT     hbox;             /* 38|3C : window box type       */
  39.    BytT     hflg;             /* 39|3D : control flag bits     */
  40. };                            /* 3A|3E ]-----------------------*/
  41.  
  42. GBL   HctlP CDC   _HlpCtl;    /*- global help-control pointer ----------*/
  43. #define  HctlStk(h,i)   ((h)->hstk[i])             /* stack-element[i]  */
  44. #define  HctlFil(h)     ((h)->hfil)                /* filename          */
  45. #define  HctlOpn(h)     ((h)->hopn)                /* open-function     */
  46. #define  HctlPtr(h)     ((h)->hptr)                /* stack-pointer     */
  47. #define  HctlKey(h)     ((h)->hkey)                /* hot-key           */
  48. #define  HctlWat(h)     ((h)->hwat)                /* window attr       */
  49. #define  HctlTat(h)     ((h)->htat)                /* text attr         */
  50. #define  HctlSat(h)     ((h)->hsat)                /* select attr       */
  51. #define  HctlBat(h)     ((h)->hbat)                /* bar attr          */
  52. #define  HctlBeg(h)     ((h)->hbeg)                /* start pos         */
  53. #define  HctlBegW(h)    (VposW(HctlBeg(h)))        /*    word           */
  54. #define  HctlBegR(h)    (VposR(HctlBeg(h)))        /*    row            */
  55. #define  HctlBegC(h)    (VposC(HctlBeg(h)))        /*    col            */
  56. #define  HctlEnd(h)     ((h)->hend)                /* end pos           */
  57. #define  HctlEndW(h)    (VposW(HctlEnd(h)))        /*    word           */
  58. #define  HctlEndR(h)    (VposR(HctlEnd(h)))        /*    row            */
  59. #define  HctlEndC(h)    (VposC(HctlEnd(h)))        /*    col            */
  60. #define  HctlBox(h)     ((h)->hbox)                /* frame type        */
  61. #define  HctlFlg(h)     ((h)->hflg)                /* flag bits         */
  62. #define  HctlTtl(h)     (0 != ((h)->hflg & 0x01))  /*    display title  */
  63.  
  64. /*------------------------[ Function prototypes ]-----------------------*/
  65.  
  66. #ifdef __cplusplus            /* no mangling, please */
  67.    extern "C" {
  68. #endif
  69. IntT  CTYP  HlpAdd(TagT ht);           /* Push current, then set tag-id */
  70. IntT  CTYP  HlpClr(NOARG);             /* Clear help-stack              */
  71. IntT        HlpCur(NOARG);             /* Push current help tag-id      */
  72. IntT  CTYP  HlpDef(ChrP fn, WrdT ky,   /* Define help hot-key, file,    */
  73.    IntT wa, IntT ta, IntT sa, IntT ba, /*    colors, open-function      */
  74.    VfvCP fo);
  75. IntT  CTYP  HlpDrop(NOARG);            /* Drop current category         */
  76. IntT  CTYP  HlpOff(NOARG);             /* Undefine help                 */
  77. IntT  CTYP  HlpPop(NOARG);             /* Pop help stack                */
  78. IntT  CTYP  HlpPush(TagT ct);          /* Push help tag-id              */
  79. IntT  CTYP  HlpSet(TagT ct);           /* Set help category by tag-id   */
  80. VOID  CTYP  HlpShow(NOARG);            /* Display help window           */
  81. IntT  CTYP  HlpWind(IntT sr, IntT sc,  /* Define help window            */
  82.    IntT er, IntT ec, IntT bt, IntT ti);
  83. #define  HlpCur() (HlpPush(WctlHlp))
  84. #ifdef __cplusplus
  85.    }
  86. #endif
  87. #endif   /* _TCXLhlp_ -- End of TCXLhlp.h */
  88.